1. Field of the Invention
The present invention relates generally to an iterative decoding device and method for a mobile communication system, and in particular, to a device and method for normalizing a metric value accumulated in a component decoder of an iterative decoder in a mobile communication system.
2. Description of the Related Art
In general, iterative decoding is employed in mobile communication systems such as an IMT-2000 (or CDMA-2000) system and a UMTS system, which use a turbo code. Also, iterative decoding is employed in deep space communication systems and satellite communication systems, which use concatenated convolutional codes, concatenated block codes or product codes. The technical field of iterative decoding is related to soft decision and optimal performance of an error correction code.
FIG. 1 shows a common iterative decoder comprising two component decoders. Referring to FIG. 1, a first component decoder 101 receives an input codeword Xk, which is systematic information, a redundancy bit Y1k provided from a demultiplexer 107 (which demultiplexes input redundancy bits Yk which are parity information), and first extrinsic information Ext. The first component decoder 101 performs decoding on the received signals to output a primarily decoded signal relating to the decoding results. The decoded signal is comprised of codeword ingredient Xk and a second extrinsic information ingredient. An interleaver 103 interleaves the primarily decoded signal. A second component decoder 105 receives the primarily decoded signal output from the interleaver 103 and a redundancy bit Y2k provided from the demultiplexer 107. The second component decoder 105 decodes the received primarily decoded signal and the redundancy bit Y2k to output a secondarily decoded signal including the first extrinsic information ingredient. Further, the second component decoder 105 provides the extrinsic information Ext to the first component decoder 101 through a deinterleaver 109.
FIG. 2 shows a detailed block diagram of a component decoder. Referring to FIG. 2, the component decoder 101 includes a branch metric calculation part (BMC) 113 for performing branch metric calculation and an add & compare & selection part (ACS) 115 for performing metric calculation and comparison in each state to select a path having fewer errors.
In general, such an iterative decoder calculates a metric value Mt in accordance with Equation 1 below.                               M          t                =                              M                          t              -              1                                +                      (                                          u                t                            ×              Lc              ×                              y                                  t                  ,                  1                                                      )                    +                      [                                          ∑                                  j                  -                  2                                N                            ⁢                                                           ⁢                                                x                                      i                    ,                    j                                                  ×                                  L                  C                                ×                                  y                                      i                    ,                    j                                                                        ]                    +                      (                                          u                1                            ×                              L                ⁡                                  (                                      u                    1                                    )                                                      )                                              Eq        .                                   ⁢        1            where, Mt: accumulated metric value for time t,
ut: codeword for the systematic bit,
xtj: codeword for the redundancy bit,
ytj: received value for the channel (systematic+redundancy)
Lc: channel reliability value, and
L(ut): a-priori reliability value for time t
It is noted from Equation 1 that with each metric calculation, the metric value Mt continuously grows due to the second, third and fourth terms. In particular, the accumulation of a high-channel reliability value, i.e., the extrinsic information having the decoding result information, causes overflow. Therefore, for hardware implementation, the metric values should have a value within a specific range to avoid an overflow problem. However, the fundamental purpose of an iterative decoder is to perform iterative decoding in order to improve decoding performance (i.e., reducing BER (Bit Error Rate) or FER (Frame Error Rate)). But, after successive iterations, the metric values may increase to exceed this specific range. Thus, if a specific range for the metric values is presumed when designing the hardware of the decoder, a problem will occur when the metric value exceeds the range and creates an overflow problem.